package pl.edu.pk.psb.assembler;

import java.text.ParseException;

import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;

import pl.edu.pk.psb.bc.util.DataUtil;
import pl.edu.pk.psb.bc.util.ParametryWyszukiwaniaWydarzen;
import pl.edu.pk.psb.command.WyszukiwarkaWydarzenCommand;

@Component
public class ParametryWyszukiwaniaWydarzenAssembler {
	public ParametryWyszukiwaniaWydarzen konwertuj(WyszukiwarkaWydarzenCommand cmd) {
		ParametryWyszukiwaniaWydarzen parametry = new ParametryWyszukiwaniaWydarzen();
		parametry.setNazwaOpis(cmd.getNazwaOpis());
		try {
			parametry.setDataOd(DataUtil.parsujNaDate(cmd.getDataOd()));
			parametry.setDataDo(DataUtil.parsujNaDate(cmd.getDataDo()));
		} catch (ParseException e) {
			// nie zaistnieje poniewaz wczesniej walidator sprawdzi daty
		}
		if (cmd.getKategoria() != 0) {
			parametry.setKategoria(cmd.getKategoria());
		}
		parametry.setMiasto(cmd.getMiasto());
		if (StringUtils.isNotBlank(cmd.getCenaNormalnaOd())) {
			parametry.setCenaNormalnaOd(Float.parseFloat(cmd.getCenaNormalnaOd()));
		}
		if (StringUtils.isNotBlank(cmd.getCenaNormalnaDo())) {
			parametry.setCenaNormalnaDo(Float.parseFloat(cmd.getCenaNormalnaDo()));
		}
		if (StringUtils.isNotBlank(cmd.getCenaUlgowaOd())) {
			parametry.setCenaUlgowaOd(Float.parseFloat(cmd.getCenaUlgowaOd()));
		}
		if (StringUtils.isNotBlank(cmd.getCenaUlgowaDo())) {
			parametry.setCenaUlgowaDo(Float.parseFloat(cmd.getCenaUlgowaDo()));
		}

		return parametry;
	}
}
